﻿Imports Logica
Public Class AgregarMovimiento
    Private m_codigoCuentaContable As Integer = 123

    ''' <summary>
    ''' Constructor el cual resive el codigo de la cuenta contable
    ''' </summary>
    ''' <param name="p_codigoCuentaContable">codigo de la cuenta contable</param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 16/06/2010, Modificado: 21/06/2010.</remarks>
    Public Sub New(ByVal p_codigoCuentaContable)

        InitializeComponent()

        m_codigoCuentaContable = p_codigoCuentaContable

    End Sub

    ''' <summary>
    ''' Realiza la agregación del movimiento
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 16/06/2010, Modificado: 21/06/2010.</remarks>
    Private Sub btnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAgregar.Click

        If txtMonto.Text = "" Then
            lblError.Visible = True
            lblError.Text = "El campo 'Monto' está vacío."
        Else

            If cmbTipoMovimiento.Text = "Seleccione" Then

                lblError.Visible = True
                lblError.Text = "Seleccione un tipo de movimiento."

            Else
                Try
                    Dim monto As Double = txtMonto.Text

                    Gestor.agregarMovimiento(txtCodigoCuenta.Text, dtpFecha.Text, monto, cmbTipoMovimiento.Text)
                    lblError.Visible = False

                    If MsgBox("El movimiento se agrego con éxito", MsgBoxStyle.Information, "Retroalimentación") = MsgBoxResult.Ok Then
                        Me.Close()
                    End If

                Catch ex As Exception
                    lblError.Visible = True
                    lblError.Text = "El monto solo puede poseer números."
                End Try

            End If
        End If

    End Sub

    ''' <summary>
    ''' Carga el combo box del tipo de movimiento.
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 16/06/2010, Modificado: 21/06/2010.</remarks>
    Private Sub AgregarMovimiento_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        txtCodigoCuenta.Text = m_codigoCuentaContable
        cmbTipoMovimiento.DataSource = System.Enum.GetValues(GetType(EnumMovimiento))
    End Sub

    ''' <summary>
    ''' Cierra el formulario
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 16/06/2010, Modificado: 21/06/2010.</remarks>
    Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
        Me.Close()
    End Sub

    ''' <summary>
    ''' Abre el formulario de ayuda
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 20/06/2010, Modificado: 20/06/2010.</remarks>
    Private Sub lklblAyuda_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles lklblAyuda.LinkClicked
        MostrarAyuda.Show()
    End Sub
End Class